关于jquery:单击提交按钮的值

您所在的位置:网站首页 jquery on click 关于jquery:单击提交按钮的值

关于jquery:单击提交按钮的值

#关于jquery:单击提交按钮的值 | 来源: 网络整理| 查看: 265

这应该很简单。

我正在检查是否正在使用jquery提交表单。表单具有多个具有不同值的提交按钮:

12Foo Bar

我想找到刚刚提交表单的按钮的值:

123$(form).live('submit', function() {     // Get value of submit button }

谢谢

绑定事件以提交按钮而不是表单,然后$(this)将具有对按钮的引用...

123$(":submit").live('click', function() {     alert($(this).val()); })

EDIT自jQuery 1.7起不推荐使用live。请改用on。

123$(document).on("click",":submit", function(e){     alert($(this).val()); });

相关讨论 根据文档,不建议使用.live(),而建议使用.on() @CrazyPyro,这个问题是在2011年3月问到的,而jQuery 1.7于2011年11月发布了不推荐使用的实时版本。

这似乎得到了单击的提交按钮:

12jQuery("#TheForm").context.activeElement.name jQuery("#TheForm").context.activeElement.value

如果使用"提交"事件,则不能。无需单击提交按钮即可提交表单。

为了获得单击的按钮,您需要通过使用自定义事件并标记实际单击的按钮(创建一个可以捕获表单中任何X按钮的单击的选择器)来更改方法。这还需要绑定一个自定义事件,并禁止表单本身的Submit事件。

123$('input[type="submit"]').click(function() {     alert ($(this).val()); } 相关讨论 它不会在实际的表单提交事件中被捕获,它是一个单独的事件。 足够真实。您可以将值放入变量中,因为可能要提交表单。 其中一个括号不见了。现在就试试。

我建议使用Firebug插件,您只需要在控制台中查看数据,就可以对问题做出很多回应。我意识到,在您的情况下,您可以通过以下方式访问提交值:

1alert($(this).context.submit.value); 相关讨论 也许我在错误的地方使用了它-但尝试此操作时出现"未定义"的错误。我在$(form).submit(function(){...}

我最终使用了每个提交按钮上的click事件,就像其他人建议的那样。效果很好,如果您想取消提交,则可以从它们返回false。只是不要尝试也绑定表单的Submit事件。您还可以让这些处理程序中的每一个调用一个通用的Submit-handler函数,并将其自身的值作为参数传递。

相关讨论 以下是一种有趣的方法,但仅适用于Firefox :(另请参见stackoverflow.com/questions/179826/)$(form).submit( function(event) { \tvar whichClicked = event.originalEvent.explicitOriginalTarget.id; \tif ( whichClicked =="approve" ) etc... \t\t});



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3